home *** CD-ROM | disk | FTP | other *** search
/ PCMania 73 / PCMania CD73_1.iso / pcmania / render73 / Foro / FUERTES / THERMOP2 / CASCO.INC next >
Text File  |  1998-08-05  |  34KB  |  1,193 lines

  1. //************************************* inicio proa *************************************
  2. #declare proa1=
  3. intersection
  4. {
  5.  prism //frente
  6.  {
  7.   linear_spline -5,60 7
  8.   <-10,30>,<4,30>,<10,3>,<10,-3>,<4,-30>,<-10,-30>,<-10,30>
  9.   rotate z*90
  10.  }
  11.  prism //planta
  12.  {
  13.   linear_spline -15,15 9
  14.   <-50,3>,<-46,10>,<-20,13>,<0,14>,<0,-14>,<-20,-13>,<-46,-10>,<-50,-3>,<-50,3>
  15.  }
  16. }
  17.  
  18. #declare letreros_proa=
  19. union
  20. {
  21.   text { ttf "fuente.ttf" "2" .0001, 0
  22.        scale 4 rotate y*90 translate <-50.0001,-4,1>}
  23.   text { ttf "fuente.ttf" "P" .0001, 0
  24.        scale 3.4 rotate y*90 translate <-50.0001,-7,1>}
  25.  texture {rojo}
  26. }
  27.  
  28. #declare proa2=
  29. merge
  30. {
  31.  object {proa1}
  32.  object {letreros_proa}
  33.  cone {<-50,-10,0>,3,<-46,-10,0>,10}
  34.  cone {<-46,-10,0>,10,<-20,-10,0>,13}
  35.  cone {<-20,-10,0>,13,<0,-10,0>,14}
  36.  cylinder {<-35,10,0>,<0,10,0>,3}
  37.  cylinder {<-50,-10,0>,<-50.5,-10,0>,2.25}
  38. }
  39.  
  40. #declare lineas_proa=
  41. union
  42. {
  43.  object {proa2}
  44.  intersection
  45.  {
  46.   object {proa2 scale 1.001}
  47.   union
  48.   {
  49.     box {<-55,-9.9,-15>,<0,-10,15>}
  50.     box {<-55,-0.1,-15>,<0,0,15>}
  51.     box {<-20,20,-15>,<-20.1,-25,15>}
  52.     box {<-40,20,-15>,<-40.1,-25,15>}
  53.     box {<-55,-10,-.05>,<0.5,-25,.05>}
  54.     box {<-55,-10,7.5>,<0,20,7.6>}
  55.     box {<-55,-10,-7.5>,<0,20,-7.6>}
  56.     box {<0,20,15>,<-.1,-25,-15>}
  57.   }
  58.   pigment {rgb 0}
  59.   bounded_by {box {<0,-25,-16>,<-55,20,16>}}
  60.  }
  61. }
  62.  
  63. #declare paneles_proa=
  64. union
  65. {
  66.  object {lineas_proa}
  67.  intersection
  68.  {
  69.   object {lineas_proa scale 1.0001}
  70.   union
  71.   {
  72.    box {<-44,0,-15>,<-38,-14,0>}
  73.    box {<-20,4,-15>,<-6,25,15>}
  74.    box {<-55,-2,5>,<-30,5,15>}
  75.    box {<-55,-7,-6>,<-40,3,-8>}
  76.    box {<-55,-5,5>,<-40,-13,8>}
  77.    cylinder {<-55,6,-5>,<-40,6,-5>,1}
  78.    box {<-31,-15,-15>,<-15,-17,15>}
  79.    box {<-10,-12,-15>,<-5,-18,0>}
  80.   }
  81.   texture {gris9}
  82.   bounded_by {box {<0,-25,-16>,<-55,20,16>}}
  83.  }
  84. }
  85.  
  86. #declare detalles_proa=
  87. intersection
  88. {
  89.  object {paneles_proa scale <1.005,1.05,1.05>}
  90.  union
  91.  {
  92.   box {<-29,11,-15>,<-25,-4,15>}
  93.   box {<-24,11,-15>,<-20,-4,15>}
  94.   box {<-19,11,-15>,<-15,-4,15>}
  95.   box {<-14,11,-15>,<-10,-4,15>}
  96.   box {<-9,11,-15>,<-5,-4,15>}
  97.   box {<-4,11,-15>,<0,-4,15>}
  98.   union //mascar≤n
  99.   {
  100.    prism {linear_spline 45,55 4 <5,0>,<1,2.5>,<1,-2.5>,<5,0>}
  101.    prism {linear_spline 45,55 6 <-.5,0>,<-4,6>,<.5,3>,<.5,-3>,<-4,-6>,<-.5,0>}
  102.    prism {linear_spline 45,55 8 <5,.5>,<5,8>,<4,9>,<-4,9>,<-3,8>,<4,8>,<4,1>,<5,.5>}
  103.    prism {linear_spline 45,55 8 <5,-.5>,<5,-8>,<4,-9>,<-4,-9>,<-3,-8>,<4,-8>,<4,-1>,<5,-.5>}
  104.    prism {linear_spline 45,55 8 <3.5,1.5>,<3.5,6.5>,<2.5,7.5>,<-2.5,7.5>,<-1.5,6.5>,
  105.                                 <2.5,6.5>,<2.5,2>,<3.5,1.5>}
  106.    prism {linear_spline 45,55 8 <3.5,-1.5>,<3.5,-6.5>,<2.5,-7.5>,<-2.5,-7.5>,<-1.5,-6.5>,
  107.                                 <2.5,-6.5>,<2.5,-2>,<3.5,-1.5>}
  108.    prism {linear_spline 45,55 8 <2,2.5>,<2,5>,<1,6>,<-1,6>,<0,5>,<1,5>,<3,5>,<2,2.5>}
  109.    prism {linear_spline 45,55 8 <2,-2.5>,<2,-5>,<1,-6>,<-1,-6>,<0,-5>,<1,-5>,<3,-5>,<2,-2.5>}
  110.    rotate z*90
  111.   }
  112.  }
  113.  bounded_by {box {<0,-25,-16>,<-55,20,16>}}
  114.  texture {gris_azulado}
  115. }
  116.  
  117. #declare letreros=
  118. union
  119. {
  120.  superellipsoid {<0.1,0.1> scale <7,2.5,12> translate <-38,5,0>}
  121.  difference
  122.  {
  123.   superellipsoid {<0.1,0.1> scale <7.0003,2.5003,12.0003> translate <-38,5,0>}
  124.   box {<-30,9,11>,<-50,1,15>}
  125.   box {<-30,9,10>,<-50,1,-10>}
  126.   box {<-30,9,-11>,<-50,1,-15>}
  127.   texture {gris8}
  128.  }
  129.  box {<-43,4,-12.0001>,<-40,5.5,12.0001> texture {gris8}}
  130.  box {<-35,3.25,-12.0001>,<-32.5,6.5,12.0001> texture {gris8}}
  131.  sphere {<-36,4,-12>,.25}
  132.  cylinder {<-36,4,-12>,<-38,4,-12>,.25}
  133.  sphere {<-38,4,-12>,.25}
  134.  sphere {<-36,4,12>,.25}
  135.  cylinder {<-36,4,12>,<-38,4,12>,.25}
  136.  sphere {<-38,4,12>,.25}
  137.  
  138.  sphere {<-36,4.5,-12>,.25}
  139.  cylinder {<-36,4.5,-12>,<-38,4.5,-12>,.25}
  140.  sphere {<-38,4.5,-12>,.25}
  141.  sphere {<-36,4.5,12>,.25}
  142.  cylinder {<-36,4.5,12>,<-38,4.5,12>,.25}
  143.  sphere {<-38,4.5,12>,.25}
  144.  
  145.  box {<-32,7,-12.0004>,<-44,6.95,12.0004> texture {gris1}}
  146.  box {<-32,3,-12.0004>,<-44,3.05,12.0004> texture {gris1}}
  147.  box {<-32,3,-12.0004>,<-32.05,7,12.0004> texture {gris1}}
  148.  box {<-43.95,3,-12.0004>,<-44,7,12.0004> texture {gris1}}
  149.  
  150.  union
  151.  {
  152.   text { ttf "fuente.ttf" "THERMOPYLAE II" .0001, 0
  153.        scale 1 rotate y*180 translate <-33,5,12.0003>}
  154.   text { ttf "fuente.ttf" "THERMOPYLAE II" .0001, 0
  155.        scale 1 translate <-43,5,-12.0003>}
  156.   text { ttf "fuente.ttf" "UE-9132P" .0001, 0
  157.        scale .71 rotate y*180 translate <-38.75,4,12.0003>}
  158.   text { ttf "fuente.ttf" "UE-9132P" .0001, 0
  159.        scale .71 translate <-43,4,-12.0003>}
  160.   texture {rojo}
  161.  }
  162. }
  163.  
  164. #declare antenas=
  165. union
  166. {
  167.  sphere {<-20,-10,-13>,1}
  168.  cylinder {<-20,-10,-13>,<-25,-10,-13>,1}
  169.  sphere {<-25,-10,-13>,1}
  170.  box {<-20,-11,-13>,<-25,-12,13>}
  171.  sphere {<-20,-10,13>,1}
  172.  cylinder {<-20,-10,13>,<-25,-10,13>,1}
  173.  sphere {<-25,-10,13>,1}
  174.  union
  175.  {
  176.   cone {<-24,-10,13>,.5,<-24,-25,25>,0}
  177.   cone {<-24,-10,-13>,.5,<-24,-25,-25>,0}
  178.   cone {<-21,-10,13>,.5,<-21,-35,35>,0}
  179.   cone {<-21,-10,-13>,.5,<-21,-35,-35>,0}
  180.   pigment {rgb 1} finish {specular 1}
  181.  }
  182.  texture {gris8}
  183. }
  184.  
  185. #declare proa=
  186. union
  187. {
  188.  object {detalles_proa}
  189.  object {paneles_proa}
  190.  object {letreros}
  191.  object {antenas}
  192.  cylinder {<-5,10,0>,<0,10,0>,3.001 texture{gris85}}
  193. }
  194. //************************************* fin proa *********************************
  195.  
  196. //************************************* inicio casco delantero **************************
  197. #declare casco_delantero1=
  198. intersection
  199. {
  200.  prism //planta
  201.  {
  202.   linear_spline -15,15 5
  203.   <-50,14>,<0,20>,<0,-20>,<-50,-14>,<-50,14>
  204.  }
  205.  prism //frente
  206.  {
  207.   linear_spline -5,55 7
  208.   <-10,30>,<4,30>,<10,3>,<10,-3>,<4,-30>,<-10,-30>,<-10,30>
  209.   rotate z*90
  210.  }
  211. }
  212.  
  213.  
  214. #declare casco_delantero2=
  215. union
  216. {
  217.  object {casco_delantero1}
  218.  cone {<-50,-10,0>,14,<0,-10,0>,20}
  219.  box {<-40,-10,-20>,<0,-30.5,20>}
  220.  cylinder {<-50,10,0>,<0,10,0>,3}
  221.  intersection
  222.  {
  223.   prism {linear_spline 5,-35 5 <-40,20>,<-50,10>,<-50,-10>,<-40,-20>,<-40,20>}
  224.   prism {linear_spline 25,-25 5 <-50,-10>,<-40,-10>,<-40,-30>,<-50,-20>,<-50,-10>
  225.         rotate x*-90}
  226.   bounded_by {box {<-52,-8,-22>,<-38,-32,22>}}
  227.  }
  228.  prism {linear_spline 15,-15 5 <-38,-30>,<-35,-31>,<-5,-31>,<-2,-30>,<-38,-30>
  229.         rotate x*-90}
  230.  box {<-35,-29,17.5>,<-5,-30.5,-17.5>}
  231. }
  232.  
  233.  
  234. #declare relieve_casco_delantero=
  235. union
  236. {
  237.  object {casco_delantero2}
  238.  intersection
  239.  {
  240.   object{casco_delantero1 scale <1.005,1.05,1.05>}
  241.   union
  242.   {
  243.    box {<-49,2,-21>,<-45,15,21>}
  244.    box {<-44,2,-21>,<-40,15,21>}
  245.    box {<-39,2,-21>,<-35,15,21>}
  246.   }
  247.   bounded_by {box {<-55,15,25>,<5,-35,-25>}}
  248.   texture {gris_azulado}
  249.  }
  250. }
  251.  
  252. #declare paneles_casco_delantero=
  253. union
  254. {
  255.  object {relieve_casco_delantero}
  256.  intersection
  257.  {
  258.   object {relieve_casco_delantero scale 1.01}
  259.   union
  260.   {
  261.    box {<-15,2.5,-23>,<0.001,9,23>}
  262.    box {<-49.999,-15,23>,<-45,-30,-23>}
  263.    box {<-35,-8,-23>,<-25,-14,23>}
  264.   }
  265.   bounded_by {box {<-55,15,25>,<5,-35,-25>}}
  266.   texture {gris8}
  267.  }
  268. }
  269.  
  270. #declare lineas_casco_delantero=
  271. union
  272. {
  273.  object {paneles_casco_delantero}
  274.  intersection
  275.  {
  276.   object {paneles_casco_delantero scale 1.0001}
  277.   union
  278.   {
  279.    box {<-55,-9.9,-23>,<5,-10,23>}
  280.    box {<-55,-.9,-23>,<-40,-1,23>}
  281.    box {<-38.9,-1,-23>,<-39.9,-31,23>}
  282.    box {<-45.1,-10,-23>,<-45,-31,23>}
  283.    box {<-20.1,-31,-23>,<-20,15,23>}
  284.   }
  285.   bounded_by {box {<-55,15,25>,<5,-35,-25>}}
  286.   texture {gris1}
  287.  }
  288. }
  289.  
  290. #declare modulos_escape=
  291. union
  292. {
  293.  superellipsoid {<0.1,0.1> scale <15,5,22>}
  294.  prism {linear_spline 3,-3 7 <-10,19>,<-17,19>,<-20,10>,<-20,-10>,<-17,-19>,<-10,-19>,<-10,19>}
  295.  intersection
  296.  {
  297.   superellipsoid {<0.1,0.1> scale <15.001,5.001,22.001>}
  298.   union
  299.   {
  300.    box {<9,6,-23>,<11,-6,23>}
  301.    box {<1,6,-23>,<-1,-6,23>}
  302.    box {<-9,6,-23>,<-11,-6,23>}
  303.    box {<-16,-1,-23>,<16,1,23>}
  304.   }
  305.   texture {gris8}
  306.   bounded_by {box {<-18,11,24>,<18,-11,-24>}}
  307.  }
  308.  union
  309.  {
  310.   box {<-4,2,-22.002>,<-6,4,22.002>}
  311.   box {<4,2,-22.002>,<6,4,22.002>}
  312.   box {<-4,-2,-22.002>,<-6,-4,22.002>}
  313.   box {<4,-2,-22.002>,<6,-4,22.002>}
  314.   pigment {red 1}
  315.  }
  316.  union
  317.  {
  318.   sphere {<-10,5,-21>,.75}
  319.   cylinder {<-10,5,-21>,<-10,5,21>,.75}
  320.   sphere {<-10,5,21>,.75}
  321.   sphere {<0,5,-21>,.75}
  322.   cylinder {<0,5,-21>,<0,5,21>,.75}
  323.   sphere {<0,5,21>,.75}
  324.   sphere {<10,5,-21>,.75}
  325.   cylinder {<10,5,-21>,<10,5,21>,.75}
  326.   sphere {<10,5,21>,.75}
  327.  }
  328.  union //modulos
  329.  {
  330.   sphere {0,3.4 scale <1,1,.35>
  331.           translate <0,0,22>}
  332.   sphere {0,3.4 scale <1,1,.35>
  333.           translate <10,0,22>}
  334.   cylinder {<10,0,22.003>,<10,0,-22.003>,3.7 pigment {rgb 0}}
  335.   sphere {0,3.4 scale <1,1,.35>
  336.           translate <-10,0,22>}
  337.   sphere {0,3.4 scale <1,1,.35>
  338.           translate <0,0,-22>}
  339.   cylinder {<0,0,22.003>,<0,0,-22.003>,3.7 pigment {rgb 0}}
  340.   sphere {0,3.4 scale <1,1,.35>
  341.           translate <10,0,-22>}
  342.   sphere {0,3.4 scale <1,1,.35>
  343.           translate <-10,0,-22>}
  344.   cylinder {<-10,0,22.003>,<-10,0,-22.003>,3.7 pigment {rgb 0}}
  345.   texture {amarillo_negro rotate z*45 scale 2}
  346.  }
  347.  translate <-20,-4,0>
  348. }
  349.  
  350. #declare puerta_carga=
  351. union
  352. {
  353.  box {<-38,-15,-21>,<-2,-17,21>}
  354.  box {<-38,-28,-21>,<-2,-30,21>}
  355.  box {<-2,-15,-21>,<-4,-30,21>}
  356.  box {<-38,-15,-21>,<-36,-30,21>}
  357.  
  358.  box {<-37,-20,20.5>,<-25,-25,-20.5>}
  359.  box {<-3,-20,20.5>,<-15,-25,-20.5>}
  360.  
  361.  union
  362.  {
  363.   box {<-17,-18,20.5>,<-19,-27,-20.5>}
  364.   box {<-21,-18,20.5>,<-23,-27,-20.5>}
  365.   texture {amarillo_negro rotate z*-45 scale 1.5}
  366.  }
  367.  box {<-37,-16,20.25>,<-3,-29,-20.25>}
  368.  union
  369.  {
  370.   box {<-19.95,-17,20.2501>,<-20.05,-28,-20.2501>}
  371.   box {<-37,-17,20.2501>,<-3,-17.2,-20.2501>}
  372.   box {<-37,-28,20.2501>,<-3,-27.8,-20.2501>}
  373.   box {<-4,-16,20.2501>,<-4.2,-28.1,-20.2501>}
  374.   box {<-36,-16,20.2501>,<-35.8,-28.1,-20.2501>}
  375.   pigment {rgb 0}
  376.  }
  377.  cylinder {<-37,-18.5,20.25>,<-25,-18.5,20.25>,.25} sphere {<-25,-18.5,20.25>,.25}
  378.  cylinder {<-37,-26.5,20.25>,<-25,-26.5,20.25>,.25} sphere {<-25,-26.5,20.25>,.25}
  379.  cylinder {<-3,-18.5,20.25>,<-15,-18.5,20.25>,.25} sphere {<-15,-18.5,20.25>,.25}
  380.  cylinder {<-3,-26.5,20.25>,<-15,-26.5,20.25>,.25} sphere {<-15,-26.5,20.25>,.25}
  381.  union
  382.  {
  383.   box {<-30,-21,-20.51>,<-26,-24,20.51>}
  384.   box {<-35,-21,-20.51>,<-31,-24,20.51>}
  385.   box {<-10,-21,-20.51>,<-14,-24,20.51>}
  386.   box {<-5,-21,-20.51>,<-9,-24,20.51>}
  387.   texture {amarillo_negro rotate z*-45}
  388.  }
  389.  texture {blanca}
  390. }
  391.  
  392. #declare casco_delantero=
  393. union
  394. {
  395.  object {lineas_casco_delantero}
  396.  object {modulos_escape}
  397.  object {puerta_carga}
  398. }
  399. //************************************* fin casco delantero **************************
  400.  
  401. //************************************* inicio cabina ********************************
  402. #declare cabina= //mßs detalles
  403. union
  404. {
  405.  sphere {0,3 scale <.3,1,1> translate <-250,10,0>} //100
  406.  cylinder {<-250,10,0>,<-225,10,0>,3} //100 85
  407.  texture {gris_azulado}
  408. }
  409. //************************************* fin cabina ********************************
  410.  
  411. //****************************** inicio casco trasero *****************************
  412. #declare casco_traseroA1=
  413. intersection
  414. {
  415.  box {<-45,16,25>,<5,-40,-25>}
  416.  prism //frente
  417.  {
  418.   linear_spline -10,55 7
  419.   <-35,30>,<9,30>,<15,3>,<15,-3>,<9,-30>,<-35,-30>,<-35,30>
  420.   rotate z*90
  421.  }
  422.  translate y*-15
  423.  rotate z*7
  424.  translate y*15
  425. }
  426.  
  427. #declare casco_traseroA2=
  428. intersection
  429. {
  430.  box {<-40,15,20>,<0,-30,-20>}
  431.  object {casco_traseroA1}
  432. }
  433.  
  434. #declare relieves_casco_trasero=
  435. intersection
  436. {
  437.  object {casco_traseroA2 scale 1.05}
  438.  union
  439.  {
  440.   box {<-37,20,-25>,<-30,0,25>}
  441.   box {<-27,20,-25>,<-20,0,25>}
  442.  }
  443.  texture {gris_azulado}
  444. }
  445.  
  446. #declare lineas_casco_trasero1=
  447. intersection
  448. {
  449.  object {casco_traseroA2 scale <1.01,1.01,1.03>}
  450.  union
  451.  {
  452.   box {<-15,20,-25>,<-15.01,-35,25>}
  453.   box {<0,20,-25>,<-.01,-35,25>}
  454.  }
  455.  pigment {rgb 0}
  456. }
  457.  
  458. #declare lineas_casco_trasero2=
  459. union
  460. {
  461.  box {<-15,0,20.001>,<0,.1,-20.001>}
  462.  box {<-40.1,-5,20.001>,<-15,-5.1,-20.001>}
  463.  box {<-25.1,-15,20.001>,<-25,-30.001,-20.001>}
  464.  pigment {rgb 0}
  465. }
  466.  
  467. #declare paneles_casco_trasero=
  468. union
  469. {
  470.  box {<-30,-10,20.001>,<-20,-20,-20.001>}
  471.  box {<-38,-10,20.001>,<-31,-20,-20.001>}
  472.  texture {gris8}
  473. }
  474.  
  475. #declare casco_traseroA=
  476. union
  477. {
  478.  object {casco_traseroA2}
  479.  object {paneles_casco_trasero}
  480.  object {relieves_casco_trasero}
  481.  object {lineas_casco_trasero1}
  482.  object {lineas_casco_trasero2}
  483.  cylinder {<-40,10,0>,<0,12,0>,3}
  484. }
  485.  
  486. #declare casco_traseroB1=
  487. intersection
  488. {
  489.  box {<-115,16,20>,<5,-30,-20>}
  490.  prism //frente
  491.  {
  492.   linear_spline 0,110 7
  493.   <-35,30>,<9,30>,<15,3>,<15,-3>,<9,-30>,<-35,-30>,<-35,30>
  494.   rotate z*90
  495.  }
  496. }
  497.  
  498. #declare lineas_casco_traseroB=
  499. intersection
  500. {
  501.  object {casco_traseroB1 scale <1.01,1.01,1.03>}
  502.  union
  503.  {
  504.   box {<-90,20,-25>,<-90.1,0,25>}
  505.   box {<-40,20,-25>,<-40.1,-35,25>}
  506.   box {<-10,20,-25>,<-10.1,-35,25>}
  507.   box {<-90,0,-25>,<-10,.1,25>}
  508.   box {<-40,0,-25>,<-10,.1,25>}
  509.  }
  510.  pigment {rgb 0}
  511. }
  512.  
  513. #declare ventanillas_casco=
  514. union
  515. {
  516.  difference
  517.  {
  518.   union
  519.   {
  520.    superellipsoid {<0.1,0.1> scale <45,3,22> translate <-65,7,0>}
  521.    #declare aa=-100
  522.    #while (aa<-30)
  523.         box {<aa,8.5,22.02>,<aa-.1,5.5,-22.02>
  524.             pigment {rgb 0}}
  525.         #declare aa=aa+7.5
  526.    #end
  527.    box {<-100,8.5,22.02>,<-30,8.4,-22.02> pigment {rgb 0}}
  528.    box {<-100,5.5,22.02>,<-30,5.6,-22.02> pigment {rgb 0}}
  529.   }
  530.   #declare aa=-95
  531.   #while (aa<-25)
  532.         box {<aa,7.5,23>,<aa-3,6.5,21> pigment {rgb <.70,.8,.8>}}
  533.         box {<aa,7.5,-23>,<aa-3,6.5,-21> pigment {rgb <.70,.8,.8>}}
  534.         #declare aa=aa+7.5
  535.   #end
  536.   texture {gris_azulado}
  537.  }
  538.  
  539.  #declare aa=-95
  540.  #declare R1 = seed(0)
  541.  #while (aa<-25)
  542.         #if ( rand(R1)>.35)
  543.            box {<aa,7.75,21.01>,<aa-3,6.75,-21.01>
  544.                 pigment {rgb <2,2,1.9>}  finish {ambient 1}}
  545.         #end
  546.         #declare aa=aa+7.5
  547.  #end
  548. }
  549.  
  550. #declare casco_traseroB=
  551. union
  552. {
  553.  object {casco_traseroB1}
  554.  object {lineas_casco_traseroB}
  555.  object {ventanillas_casco}
  556. }
  557.  
  558. #declare gondola_casco=
  559. union
  560. {
  561.  sphere {0,10 scale <1,1,.5> translate <-35,5,0>} //A
  562.  cylinder {x*-35,x*40,10 scale <1,1,.5> translate <0,5,0>} //B
  563.  sphere {0,10 scale <2,1,.5> translate <40,5,0>} //C
  564.  cylinder {y*-5,y*5,5 scale <4,1,1> translate <40,0,0> texture {gris85}} //D
  565.  sphere {0,5 scale <4,1,1> translate <40,-5,0>} //E
  566.  cylinder {x*-35,x*40,5 translate <0,-5,0>} //F
  567.  sphere {0,5 scale <2,1,1> translate <-35,-5,0>} //G
  568.  cylinder {y*-5,y*5,10 scale <1,1,.5> translate <-35,0,0>} //H
  569.  box {<-35,5,5>,<40,-5,-5>} //I
  570.  union //lineas
  571.  {
  572.   cylinder {y*-5,y*-4.9,10 scale <1,1,.5> scale 1.02 translate <-35,0,0>} //H
  573.   cylinder {y*5,y*4.9,10 scale <1,1,.5> scale 1.02  translate <-35,0,0>} //H
  574.   cylinder {y*5,y*4.9,5 scale <4,1,1> translate <40,0,0>} //D
  575.   cylinder {y*-5,y*-4.9,5 scale <4,1,1> translate <40,0,0>} //D
  576.   cylinder {x*-.05,x*.05,10 scale <1,1,.5> scale 1.02  translate <-34.9,5,0>} //B
  577.   cylinder {x*-.05,x*.05,10 scale <1,1,.5> scale 1.02  translate <-25,5,0>} //B
  578.   cylinder {x*-.05,x*.05,10 scale <1,1,.5> scale 1.02  translate <-10,5,0>} //B
  579.   cylinder {x*-.05,x*.05,10 scale <1,1,.5> scale 1.02  translate <10,5,0>} //B
  580.   cylinder {x*-.05,x*.05,10 scale <1,1,.5> scale 1.02  translate <40,5,0>} //B
  581.   cylinder {x*-.05,x*.05,5 scale 1.02 translate <-34.9,-5,0>} //F
  582.   cylinder {x*-.05,x*.05,5 scale 1.02 translate <-25,-5,0>} //F
  583.   cylinder {x*-.05,x*.05,5 scale 1.02 translate <-10,-5,0>} //F
  584.   cylinder {x*-.05,x*.05,5 scale 1.02 translate <10,-5,0>} //F
  585.   cylinder {x*-.05,x*.05,5 scale 1.02 translate <39.9,-5,0>} //F
  586.   box {<-34.95,5,5>,<-34.85,-5,-5> scale 1.02} //I
  587.   box {<-24.95,5,5>,<-25.05,-5,-5> scale 1.02} //I
  588.   box {<-9.95,5,5>,<-10.05,-5,-5> scale 1.02} //I
  589.   box {<9.95,5,5>,<10.05,-5,-5> scale 1.02} //I
  590.   box {<39.95,5,5>,<39.85,-5,-5> scale 1.02} //I
  591.   box {<-35,5,5>,<39,4.9,-5> scale 1.02}
  592.   box {<-35,-5,5>,<39,-4.9,-5> scale 1.02}
  593.   pigment {rgb 0}
  594.  }
  595.  union //paneles
  596.  {
  597.   cylinder {x*-25,x*-30,10 scale <1,1,.5> scale 1.001 translate <0,5,0>} //B
  598.   cylinder {x*-9.9,x*9.9,10 scale <1,1,.5> scale 1.001 translate <0,5,0>} //B
  599.   cylinder {x*-25,x*-30,5 scale 1.001 translate <0,-5,0>} //F
  600.   cylinder {x*-9.9,x*9.9,5 scale 1.001 translate <0,-5,0>} //F
  601.   texture {gris85}
  602.  }
  603. }
  604.  
  605. #declare casco_trasero1=
  606. union
  607. {
  608.  object {casco_traseroA translate x*-110}
  609.  object {casco_traseroB}
  610.  object {gondola_casco translate <-80,-15,20>}
  611.  object {gondola_casco translate <-80,-15,-20>}
  612.  union
  613.  {
  614.   cylinder {<0,15.001,0>,<0,0,0>,10 scale <2,1,1> translate x*-90}
  615.   box {<-90,15.001,10>,<-20,0,-10>}
  616.   cylinder {<0,15.001,0>,<0,0,0>,10 scale <1.5,1,1> translate x*-20}
  617.  }
  618. }
  619.  
  620. #declare casco_trasero2=
  621. difference
  622. {
  623.  object {casco_trasero1}
  624.  union
  625.  {
  626.   box {<-2,16,10>,<1,0,-10>}
  627.   prism {linear_spline 0,-20 4 <1,-10>,<1,-21>,<-16,-21>,<1,-10>}
  628.   prism {linear_spline 0,-20 4 <1,10>,<1,21>,<-16,21>,<1,10>}
  629.   prism {linear_spline 10,-10 4 <1,20>,<1,31>,<-16,31>,<1,20> rotate x*90}
  630.  
  631.   prism {linear_spline -13,-17 7 <-9,-14>,<-9,-15>,<-4,-15>,<-4,-20>,<-11,-20>,<-11,-14>,<-9,-14>}
  632.   prism {linear_spline -3,-7 7 <-9,-14>,<-9,-15>,<-4,-15>,<-4,-20>,<-11,-20>,<-11,-14>,<-9,-14>}
  633.   prism {linear_spline -13,-17 7 <-9,14>,<-9,15>,<-4,15>,<-4,20>,<-11,20>,<-11,14>,<-9,14>}
  634.   prism {linear_spline -3,-7 7 <-9,14>,<-9,15>,<-4,15>,<-4,20>,<-11,20>,<-11,14>,<-9,14>}
  635.  
  636.   prism //piso puente
  637.   {
  638.    linear_spline 11,22 7 <-80,8>,<-93,8>,<-101,4>,<-101,-4>,<-93,-8>,<-80,-8>,<-80,8>
  639.    texture {gris8}
  640.   }
  641.   texture {gris9}
  642.  }
  643.  bounded_by {box {<2,17,22>,<-255,-32,-22>}}
  644. }
  645.  
  646. #declare casco_trasero=
  647. union
  648. {
  649.  object {casco_trasero2}
  650.  union
  651.  {
  652.   #declare aa=-9.5
  653.   #while (aa<10)
  654.          sphere {<-2,13,aa>,.5}
  655.          cylinder {<-2,13,aa>,<-2,0,aa>,.5}
  656.          #declare aa=aa+1
  657.   #end
  658.   box {<-15,12,4>,<-1.9,16,-4>}
  659.   texture {gris3}
  660.  }
  661.  union
  662.  {
  663.   box {<0,-5,-10>,<1,-15,-5.5>}
  664.   difference
  665.   {
  666.    box {<0,-5,-5>,<1,-15,5>}
  667.    cylinder {<-1,-10,0>,<2,-10,0>,4}
  668.   }
  669.   difference
  670.   {
  671.    cylinder {<0,-10,0>,<1,-10,0>,3.5}
  672.    cylinder {<-1,-10,0>,<2,-10,0>,2.5}
  673.   }
  674.   box {<0,-5,10>,<1,-15,5.5>}
  675.   texture {gris8}
  676.  }
  677.  sphere {<0,-10,0>,2.5 scale <.1,1,1>}
  678.  #declare aa=0
  679.  #while (aa<360)
  680.         cylinder {<0,3,0>,<.75,3,0>,.5 rotate x*aa translate y*-10 pigment {rgb 3}}
  681.         #declare aa=aa+60
  682.  #end
  683.  cylinder {<0,-10,0>,<.25,-10,0>,.2 pigment {rgb 0}}
  684.  union
  685.  {
  686.   box {<0,-1,-8>,<.0001,-4,-3>}
  687.   box {<0,-1,-1>,<.0001,-3,9>}
  688.   box {<0,-16.5,-8>,<.0001,-19,-2>}
  689.   box {<0,-16,0>,<.0001,-19.5,9> texture {gris9}}
  690.   texture {gris8}
  691.  }
  692.  box {<-10,-30.0001,-10>,<-15,-20,10>}
  693.  cylinder {<-10,-20,-9>,<-10,-20,-5.5>,9.5}
  694.  cylinder {<-10,-20,-.5>,<-10,-20,-4.5>,9.5}
  695.  cylinder {<-10,-20,.5>,<-10,-20,4.5>,9.5}
  696.  cylinder {<-10,-20,9>,<-10,-20,5.5>,9.5}
  697.  prism {linear_spline -8.5,-11.5 6 <-60,22>,<-10,22>,<0,11>,<0,10>,<-60,18>,<-60,22>}
  698.  prism {linear_spline -8.5,-11.5 6 <-60,-22>,<-10,-22>,<0,-11>,<0,-10>,<-60,-18>,<-60,-22>}
  699.  union
  700.  {
  701.   torus {3,1 rotate z*90 translate <0,5,-15>}
  702.   torus {3,1 rotate z*90 translate <0,5,15>}
  703.   torus {3,1 rotate z*90 translate <0,-25,-15>}
  704.   torus {3,1 rotate z*90 translate <0,-25,15>}
  705.   texture {gris975}
  706.  }
  707.  union
  708.  {
  709.   cylinder {<0,5,-15>,<1,5,-15>,3}
  710.   cylinder {<0,5,15>,<1,5,15>,3}
  711.   cylinder {<0,-25,-15>,<1,-25,-15>,3}
  712.   cylinder {<0,-25,15>,<1,-25,15>,3}
  713.   texture {gris9}
  714.  }
  715.  union
  716.  {
  717.   #declare aa=0
  718.   #while (aa<360)
  719.          box {<0,.5,.3>,<1.0001,2.5,-.3> rotate x*aa}
  720.          #declare aa=aa+45
  721.   #end
  722.   translate <0,5,-15>
  723.   pigment {rgb 3}
  724.  }
  725.  union
  726.  {
  727.   #declare aa=0
  728.   #while (aa<360)
  729.          box {<0,.5,.3>,<1.0001,2.5,-.3> rotate x*aa}
  730.          #declare aa=aa+45
  731.   #end
  732.   translate <0,5,15>
  733.   pigment {rgb 3}
  734.  }
  735.  union
  736.  {
  737.   #declare aa=0
  738.   #while (aa<360)
  739.          box {<0,.5,.3>,<1.0001,2.5,-.3> rotate x*aa}
  740.          #declare aa=aa+45
  741.   #end
  742.   translate <0,-25,-15>
  743.   pigment {rgb 3}
  744.  }
  745.  union
  746.  {
  747.   #declare aa=0
  748.   #while (aa<360)
  749.          box {<0,.5,.3>,<1.0001,2.5,-.3> rotate x*aa}
  750.          #declare aa=aa+45
  751.   #end
  752.   translate <0,-25,15>
  753.   pigment {rgb 3}
  754.  }
  755.  box {<0,10,-19>,<.0001,11,-11> pigment {rgb 0}}
  756.  box {<0,10,19>,<.0001,11,11> pigment {rgb 0}}
  757.  box {<0,-6,-6>,<1.0001,-8,-7> pigment {red 1} finish {ambient 1}}
  758.  box {<0,-6,6>,<1.0001,-8,7> pigment {red 1} finish {ambient 1}}
  759.  
  760.  box {<-1,9,-20.5>,<-9,1,-19>}
  761.  box {<-1,9,20.5>,<-9,1,19>}
  762.  box {<-1,-30.5,-20.5>,<-9,-21,-11>}
  763.  box {<-1,-30.5,20.5>,<-9,-21,11>}
  764. }
  765. //****************************** fin casco trasero *****************************
  766.  
  767. //****************************** inicio soporte motores *****************************
  768. #declare soporte_izquierdo_motores=
  769. union
  770. {
  771.  prism
  772.  {
  773.   0,-30 15
  774.   <0,5>,<-5,10>,<-30,10>,<-35,5>,<-35,-5>,<-30,-10>,<-5,-10>,<0,-5>,<5,-10>,
  775.   <30,-10>,<35,-5>,<35,5>,<30,10>,<5,10>,<0,5>
  776.   rotate x*90
  777.  }
  778.  union //A
  779.  {
  780.   cylinder {<-35,4,0>,<-35,4,-25>,1}
  781.   box {<-35,4,0>,<-36,-4,-25>}
  782.   cylinder {<-35,-4,0>,<-35,-4,-25>,1}
  783.   cylinder {<35,4,0>,<35,4,-25>,1}
  784.   box {<35,4,0>,<36,-4,-25>}
  785.   cylinder {<35,-4,0>,<35,-4,-25>,1}
  786.   texture {gris9}
  787.  }
  788.  union //B
  789.  {
  790.   cylinder {<-28,10,0>,<-28,10,-25>,1}
  791.   box {<-28,11,0>,<-7,10,-25>}
  792.   cylinder {<-7,10,0>,<-7,10,-25>,1}
  793.   cylinder {<28,10,0>,<28,10,-25>,1}
  794.   box {<28,11,0>,<7,10,-25>}
  795.   cylinder {<7,10,0>,<7,10,-25>,1}
  796.   cylinder {<28,-10,0>,<28,-10,-25>,1}
  797.   box {<28,-11,0>,<7,-10,-25>}
  798.   cylinder {<7,-10,0>,<7,-10,-25>,1}
  799.   texture {gris8}
  800.  }
  801.  box {<-25,11,-5>,<-10,12,-3>} //c
  802.  box {<-25,11,-10>,<-10,12,-8>} //c
  803.  box {<-25,11,-15>,<-10,12,-17>} //c
  804.  box {<-25,11,-20>,<-10,12,-22>} //c
  805.  union //d
  806.  {
  807.   cone {<10,11.1,-20>,4,<10,12,-20>,3}
  808.   cone {<25,11.1,-20>,4,<25,12,-20>,3}
  809.   cone {<10,-11.1,-20>,4,<10,-12,-20>,3}
  810.   cone {<25,-11.1,-20>,4,<25,-12,-20>,3}
  811.   cone {<10,-11.1,-5>,4,<10,-12,-5>,3}
  812.   cone {<25,-11.1,-5>,4,<25,-12,-5>,3}
  813.   cylinder {<-8,-11,-5>,<-27,-11,-5>,1}
  814.   cylinder {<-8,-11,-10>,<-27,-11,-10>,1}
  815.   cylinder {<-8,-11,-15>,<-27,-11,-15>,1}
  816.   cylinder {<-8,-11,-20>,<-27,-11,-20>,1}
  817.   cylinder {<-8,-11,-25>,<-27,-11,-25>,1}
  818.   box {<10,11.1,-11>,<25,12,-14>}
  819.   texture {blanca}
  820.  }
  821.  cylinder {<-.5,7.5,0>,<-.5,7.5,-25>,.5} //tuberia
  822.  cylinder {<.5,7.5,0>,<.5,7.5,-25>,.5} //tuberia
  823.  cylinder {<-.5,-7.5,0>,<-.5,-7.5,-25>,.5} //tuberia
  824.  cylinder {<.5,-7.5,0>,<.5,-7.5,-25>,.5} //tuberia
  825.  box {<-6,-9,-9>,<6,9,-10>} //soporte tuberia
  826.  box {<-6,-9,-15>,<6,9,-16>} //soporte tuberia
  827.  union //paneles
  828.  {
  829.   box {<-16,12.001,0>,<-16.1,11,-25>}
  830.   box {<-8.9,12.001,0>,<-9.1,11,-25>}
  831.   box {<14.9,12.001,0>,<15,11,-25>}
  832.   box {<20,12.001,0>,<20.1,11,-25>}
  833.   pigment {rgb 0}
  834.  }
  835. }
  836.  
  837. #declare soporte_derecho_motores=
  838. union
  839. {
  840.  prism
  841.  {
  842.   0,30 15
  843.   <0,5>,<-5,10>,<-30,10>,<-35,5>,<-35,-5>,<-30,-10>,<-5,-10>,<0,-5>,<5,-10>,
  844.   <30,-10>,<35,-5>,<35,5>,<30,10>,<5,10>,<0,5>
  845.   rotate x*90
  846.  }
  847.  union //A
  848.  {
  849.   cylinder {<-35,4,0>,<-35,4,25>,1}
  850.   box {<-35,4,0>,<-36,-4,25>}
  851.   cylinder {<-35,-4,0>,<-35,-4,25>,1}
  852.   cylinder {<35,4,0>,<35,4,25>,1}
  853.   box {<35,4,0>,<36,-4,25>}
  854.   cylinder {<35,-4,0>,<35,-4,25>,1}
  855.   texture {gris9}
  856.  }
  857.  union //B
  858.  {
  859.   cylinder {<-28,10,0>,<-28,10,25>,1}
  860.   box {<-28,11,0>,<-7,10,25>}
  861.   cylinder {<-7,10,0>,<-7,10,25>,1}
  862.   cylinder {<28,10,0>,<28,10,25>,1}
  863.   box {<28,11,0>,<7,10,25>}
  864.   cylinder {<7,10,0>,<7,10,25>,1}
  865.   cylinder {<28,-10,0>,<28,-10,25>,1}
  866.   box {<28,-11,0>,<7,-10,25>}
  867.   cylinder {<7,-10,0>,<7,-10,25>,1}
  868.   texture {gris8}
  869.  }
  870.  box {<-25,11,5>,<-10,12,3>} //c
  871.  box {<-25,11,10>,<-10,12,8>} //c
  872.  box {<-25,11,15>,<-10,12,17>} //c
  873.  box {<-25,11,20>,<-10,12,22>} //c
  874.  union //d
  875.  {
  876.   cone {<10,11.1,20>,4,<10,12,20>,3}
  877.   cone {<25,11.1,20>,4,<25,12,20>,3}
  878.   cone {<10,-11.1,20>,4,<10,-12,20>,3}
  879.   cone {<25,-11.1,20>,4,<25,-12,20>,3}
  880.   cone {<10,-11.1,5>,4,<10,-12,5>,3}
  881.   cone {<25,-11.1,5>,4,<25,-12,5>,3}
  882.   cylinder {<-8,-11,5>,<-27,-11,5>,1}
  883.   cylinder {<-8,-11,10>,<-27,-11,10>,1}
  884.   cylinder {<-8,-11,15>,<-27,-11,15>,1}
  885.   cylinder {<-8,-11,20>,<-27,-11,20>,1}
  886.   cylinder {<-8,-11,25>,<-27,-11,25>,1}
  887.   box {<10,11.1,11>,<25,12,14>}
  888.   texture {blanca}
  889.  }
  890.  cylinder {<-.5,7.5,0>,<-.5,7.5,25>,.5} //tuberia
  891.  cylinder {<.5,7.5,0>,<.5,7.5,25>,.5} //tuberia
  892.  cylinder {<-.5,-7.5,0>,<-.5,-7.5,25>,.5} //tuberia
  893.  cylinder {<.5,-7.5,0>,<.5,-7.5,25>,.5} //tuberia
  894.  box {<-6,-9,9>,<6,9,10>} //soporte tuberia
  895.  box {<-6,-9,15>,<6,9,16>} //soporte tuberia
  896.  union //paneles
  897.  {
  898.   box {<-16,12.001,0>,<-16.1,11,25>}
  899.   box {<-8.9,12.001,0>,<-9.1,11,25>}
  900.   box {<14.9,12.001,0>,<15,11,25>}
  901.   box {<20,12.001,0>,<20.1,11,25>}
  902.   pigment {rgb 0}
  903.  }
  904. }
  905. //****************************** fin soporte motores *****************************
  906.  
  907. //****************************** inicio bajos *****************************
  908. #declare bajos1=
  909. union
  910. {
  911.  cone {<-150,-30,10>,0,<-140,-30,10>,7} //A
  912.  prism {linear_spline 10,-10 4 <-150,-30>,<-140,-30>,<-140,-37>,<-150,-30> rotate x*-90} //A
  913.  cone {<-150,-30,-10>,0,<-140,-30,-10>,7} //A
  914.  
  915.  cone {<-120,-30,10>,10,<-140,-30,10>,7 texture {gris_azulado}} //B
  916.  prism {linear_spline 10,-10 5 <-140,-30>,<-140,-37>,<-120,-40>,<-120,-30>,<-140,-30> rotate x*-90}//B
  917.  cone {<-120,-30,-10>,10,<-140,-30,-10>,7 texture {gris_azulado}} //B
  918.  
  919.  difference
  920.  {
  921.   union
  922.   {
  923.    cylinder {<-120,-30,-10>,<-30,-30,-10>,10} //C
  924.    cylinder {<-90,-30,-10>,<-60,-30,-10>,10.1 texture {gris9}} //C
  925.    cylinder  {<-90,-30,10>,<-60,-30,10>,10.1 texture {gris9}} //C
  926.    box {<-120,-20,-10>,<-30,-40,10>} //C
  927.    cylinder  {<-120,-30,10>,<-30,-30,10>,10} //C
  928.   }
  929.   box {<-100,-38,10>,<-40,-42,-10>}
  930.  }
  931.  
  932.  cone {<-30,-30,10>,10,<-20,-30,10>,0 texture {gris9}} //D
  933.  prism {linear_spline 10,-10 4 <-30,-30>,<-30,-40>,<-20,-30>,<-30,-30> rotate x*-90} //D
  934.  prism {linear_spline 10,-10 5 <-35,-41>,<-29,-41>,<-19,-30>,<-35,-30>,<-35,-41> rotate x*-90}//D
  935.  cone {<-30,-30,-10>,10,<-20,-30,-10>,0 texture {gris9}} //D
  936.  
  937.  union
  938.  {
  939.   cylinder {<-139.95,-30,10>,<-140.05,-30,10>,7.1} //A
  940.   box {<-139.95,-37.1,10>,<-140.05,-20,-10>} //A
  941.   cylinder {<-139.95,-30,-10>,<-140.05,-30,-10>,7.1} //A
  942.  
  943.   cylinder {<-119.95,-30,10>,<-120.05,-30,10>,10.1} //B
  944.   box {<-119.95,-40.1,10>,<-120.05,-20,-10>} //B
  945.   cylinder {<-119.95,-30,-10>,<-120.05,-30,-10>,10.1} //B
  946.  
  947.   cylinder {<-109.95,-30,10>,<-110.05,-30,10>,10.1} //C
  948.   box {<-109.95,-40.1,10>,<-110.05,-20,-10>} //C
  949.   cylinder {<-109.95,-30,-10>,<-110.05,-30,-10>,10.1} //C
  950.   cylinder {<-29.95,-30,10>,<-30.05,-30,10>,10.1} //D
  951.   box {<-29.95,-40.1,10>,<-30.05,-20,-10>} //D
  952.   cylinder {<-29.95,-30,-10>,<-30.05,-30,-10>,10.1} //D
  953.   pigment {rgb 0}
  954.  }
  955. }
  956.  
  957. #declare puerta_hangar=
  958. difference
  959. {
  960.  union
  961.  {
  962.   union
  963.   {
  964.    text { ttf "fuente.ttf" "2" .0001, 0
  965.        scale 4 rotate y*90 translate <-1.0001,-4,1>}
  966.    text { ttf "fuente.ttf" "P" .0001, 0
  967.        scale 3.4 rotate y*90 translate <-1.0001,-8,1>}
  968.    texture {rojo}
  969.    scale 5
  970.    translate <4.0001,21,.75>
  971.   }
  972.   box {<0,30,10>,<-1,-30,-10> texture {blanca}}
  973.   rotate z*90
  974.   translate <-70,-38,0>
  975.  }
  976.  union
  977.  {
  978.   box {<-101,-37,0>,<-39,-40,-.15>}
  979.   box {<-101,-37,0>,<-39,-40,-.15> translate z*-5}
  980.   box {<-101,-37,0>,<-39,-40,-.15> translate z*5}
  981.   pigment {rgb 0}
  982.  }
  983.  bounded_by {box {<-112,-36,-11>,<-28,-42,11>}}
  984. }
  985.  
  986. #declare puertas_esclusa1=
  987. union
  988. {
  989.  difference
  990.  {
  991.   prism {linear_spline -20,20 7 <-4,4.5>,<4,4.5>,<4,-4>,<3,-5>,<-3,-5>,<-4,-4>,<-4,4.5>
  992.         rotate x*-90}
  993.   union
  994.   {
  995.    prism {linear_spline -19.5,-21 9 <-2,4>,<2,4>,<3,3>,<3,-3>,<2,-4>,<-2,-4>,<-3,-3>,
  996.         <-3,3>,<-2,4> rotate x*-90}
  997.    prism {linear_spline 19.5,21 9 <-2,4>,<2,4>,<3,3>,<3,-3>,<2,-4>,<-2,-4>,<-3,-3>,
  998.         <-3,3>,<-2,4> rotate x*-90}
  999.    texture {gris975}
  1000.   }
  1001.   bounded_by {box {<-5,7,-23>,<5,-7,23>}}
  1002.  }
  1003.  union
  1004.  {
  1005.  cylinder {<-3.5,-3,20.5>,<-3.5,-3,-20.5>,.1} //barandilla
  1006.  cylinder {<3.5,-3,20.5>,<3.5,-3,-20.5>,.1} //barandilla
  1007.  cylinder {<-3.5,3,20.5>,<-3.5,3,-20.5>,.1} //barandilla
  1008.  cylinder {<3.5,3,20.5>,<3.5,3,-20.5>,.1} //barandilla
  1009.  cylinder {<3.5,3,20.5>,<3.5,-3,20.5>,.1} //barandilla
  1010.  cylinder {<-3.5,3,20.5>,<-3.5,-3,20.5>,.1} //barandilla
  1011.  cylinder {<3.5,3,-20.5>,<3.5,-3,-20.5>,.1} //barandilla
  1012.  cylinder {<-3.5,3,-20.5>,<-3.5,-3,-20.5>,.1} //barandilla
  1013.  texture {amarillo_negro scale 2 rotate z*90}
  1014.  }
  1015. }
  1016.  
  1017. #declare puertas_esclusa=
  1018. difference
  1019. {
  1020.   object {puertas_esclusa1}
  1021.   union
  1022.   {
  1023.    box {<-2.5,.5,-19.3>,<-.5,-.5,-21>}
  1024.    box {<2.5,.5,-19.3>,<.5,-.5,-21>}
  1025.    box {<-2.5,.5,19.3>,<-.5,-.5,21>}
  1026.    box {<2.5,.5,19.3>,<.5,-.5,21>}
  1027.  
  1028.   prism {linear_spline -19.3,-21 5 <-2,3.5>,<2,3.5>,<.5,1>,<-.5,1>,<-2,3.5> rotate x*-90} //a
  1029.   prism {linear_spline 19.3,21 5 <-2,3.5>,<2,3.5>,<.5,1>,<-.5,1>,<-2,3.5> rotate x*-90} //a
  1030.   prism {linear_spline -19.3,-21 5 <-2,-3.5>,<2,-3.5>,<.5,-1>,<-.5,-1>,<-2,-3.5> rotate x*-90} //a
  1031.   prism {linear_spline 19.3,21 5 <-2,-3.5>,<2,-3.5>,<.5,-1>,<-.5,-1>,<-2,-3.5> rotate x*-90} //a
  1032.  
  1033.   prism {linear_spline -19.3,-21 5 <-2.5,2.5>,<-2,3>,<-1,1>,<-2.5,1>,<-2.5,2.5> rotate x*-90}//b
  1034.   prism {linear_spline -19.3,-21 5 <-2.5,-2.5>,<-2,-3>,<-1,-1>,<-2.5,-1>,<-2.5,-2.5> rotate x*-90}//b
  1035.   prism {linear_spline 19.3,21 5 <-2.5,2.5>,<-2,3>,<-1,1>,<-2.5,1>,<-2.5,2.5> rotate x*-90}//b
  1036.   prism {linear_spline 19.3,21 5 <-2.5,-2.5>,<-2,-3>,<-1,-1>,<-2.5,-1>,<-2.5,-2.5> rotate x*-90}//b
  1037.  
  1038.   prism {linear_spline -19.3,-21 5 <2.5,2.5>,<2,3>,<1,1>,<2.5,1>,<2.5,2.5> rotate x*-90}//c
  1039.   prism {linear_spline -19.3,-21 5 <2.5,-2.5>,<2,-3>,<1,-1>,<2.5,-1>,<2.5,-2.5> rotate x*-90}//c
  1040.   prism {linear_spline 19.3,21 5 <2.5,2.5>,<2,3>,<1,1>,<2.5,1>,<2.5,2.5> rotate x*-90}//c
  1041.   prism {linear_spline 19.3,21 5 <2.5,-2.5>,<2,-3>,<1,-1>,<2.5,-1>,<2.5,-2.5> rotate x*-90}//c
  1042.    texture {gris9}
  1043.   }
  1044.   bounded_by {box {<-5,7,-23>,<5,-7,23>}}
  1045. }
  1046.  
  1047. #declare bajos=
  1048. union
  1049. {
  1050.  difference
  1051.  {
  1052.   object {bajos1}
  1053.   union
  1054.   {
  1055.    prism {linear_spline -18,-21 9 <-2,4>,<2,4>,<3,3>,<3,-3>,<2,-4>,<-2,-4>,<-3,-3>,
  1056.         <-3,3>,<-2,4> rotate x*-90 translate <-115,-34,0>}
  1057.    prism {linear_spline 18,21 9 <-2,4>,<2,4>,<3,3>,<3,-3>,<2,-4>,<-2,-4>,<-3,-3>,
  1058.         <-3,3>,<-2,4> rotate x*-90 translate <-115,-34,0>}
  1059.   }
  1060.  }
  1061.  object {puertas_esclusa translate <-115,-34,0>}
  1062.  object {puerta_hangar}
  1063. }
  1064. //****************************** fin bajos ********************************
  1065.  
  1066. //******************************** inicio puente *****************************
  1067. #declare puente1=
  1068. union
  1069. {
  1070.  cylinder {<-83,0,0>,<-60,0,0>,11 scale <1,.5,1> translate y*15}
  1071.  cone {<-83,0,0>,11,<-85,0,0>,10 scale <1,.5,1> translate y*15}
  1072.  cone {<-60,0,0>,11,<-58,0,0>,10 scale <1,.5,1> translate y*15}
  1073.  cylinder {<-85,0,0>,<-20,0,0>,10 scale <1,.5,1> translate y*15}
  1074.  sphere {0,10 scale <1.5,.5,1> translate <-20,15,0>}
  1075. }
  1076.  
  1077. #declare puente=
  1078. union
  1079. {
  1080.  object {puente1}
  1081.  union
  1082.  {
  1083.   box {<-40.05,10,10.001>,<-39.95,15,-10.001>}
  1084.   cylinder {<-40.05,0,0>,<-39.95,0,0>,10.001 scale <1,.5,1> translate y*15}
  1085.   pigment {rgb 0}
  1086.  }
  1087.  union
  1088.  {
  1089.   box {<-55,10,10.001>,<-45,15,-10.001>}
  1090.   cylinder {<-55,0,0>,<-45,0,0>,10.001 scale <1,.5,1> translate y*15}
  1091.   box {<-20,10,10.001>,<-30,15,-10.001>}
  1092.   cylinder {<-20,0,0>,<-30,0,0>,10.001 scale <1,.5,1> translate y*15}
  1093.   texture {gris8}
  1094.  }
  1095.  union
  1096.  {
  1097.   box {<-78,10,11.001>,<-80,15,-11.001>}
  1098.   cylinder {<-78,0,0>,<-80,0,0>,11.001 scale <1,.5,1> translate y*15}
  1099.   texture {gris9}
  1100.  }
  1101.  union
  1102.  {
  1103.   box {<-65,10,11.001>,<-68,15,-11.001>}
  1104.   cylinder {<-65,0,0>,<-68,0,0>,11.001 scale <1,.5,1> translate y*15}
  1105.   texture {gris3}
  1106.  }
  1107.  union //interior puente
  1108.  {
  1109.   difference
  1110.   {
  1111.    sphere {0,10 scale <2,.5,1> translate <-90,15,0>}
  1112.    box {<-110,0,15>,<-50,18,-15>}
  1113.   }
  1114.   difference
  1115.   {
  1116.    difference
  1117.    {
  1118.     sphere {0,10 scale <2,.5,1> translate <-90,15,0>}
  1119.     sphere {0,9.5 scale <2,.5,1> translate <-90,15,0>}
  1120.    }
  1121.    box {<-94,15.5,15>,<-50,19.999,-15>}
  1122.    box {<-100,15.5,15>,<-95.5,19.999,-15>}
  1123.    box {<-100.5,15.5,15>,<-150,19.999,-15>}
  1124.   }
  1125.   difference
  1126.   {
  1127.    cylinder {0,x*-5,10}
  1128.    cylinder {x*1,x*-6,9.5}
  1129.    scale <2,.5,1> translate <-80,15,0>
  1130.   }
  1131.   difference
  1132.   {
  1133.    cylinder {0,x*-5,10 scale <2,.5,1>}
  1134.    box {<-16,3,15>,<6,-15,-15>}
  1135.    translate <-80,15,0>
  1136.   }
  1137.   sphere //cristal
  1138.   {0,9.75 hollow scale <2,.5,1> translate <-90,15,0>
  1139.          pigment {rgb <.5,.25,.25> transmit .3} finish {specular 1 roughness .0005}}
  1140.   union //panel transparente
  1141.   {
  1142.    box {<-101,15,4>,<-101.25,17.5,3.9>}
  1143.    box {<-101,15,-4>,<-101.25,17.5,-3.9>}
  1144.    box {<-101,17.5,-4>,<-101.25,17.4,4>}
  1145.    pigment {rgb 1.1}
  1146.   }
  1147.   union //detalles
  1148.   {
  1149.    box {<-105,15.5,3>,<-95,0,-3> pigment {rgb .4}}
  1150.    box {<-90,16.5,2.5>,<-92,0,3.5> pigment {rgb .6}}
  1151.    box {<-90,16.45,2.6>,<-92.5,0,3.4> pigment {rgb .8}}
  1152.    box {<-90,16.5,-2.5>,<-92,0,-3.5> pigment {rgb .6}}
  1153.    box {<-90,16.45,-2.6>,<-92.5,0,-3.4> pigment {rgb .8}}
  1154.   }
  1155.   union //luces
  1156.   {
  1157.    light_source {<-96,17.999,4> red 6 fade_distance 3 fade_power 2}
  1158.    light_source {<-96,17.999,-4> red 6 fade_distance 3 fade_power 2}
  1159.   }
  1160.   bounded_by {box {<-120,10,15>,<-40,20,-15>}}
  1161.  }
  1162. }
  1163. //******************************** fin puente *****************************
  1164.  
  1165. //************************************* inicio casco ********************************
  1166. #declare casco=
  1167. union
  1168. {
  1169.  object {casco_trasero}
  1170.  object {casco_delantero translate x*-150}
  1171.  object {proa translate x*-200}
  1172.  object {cabina}
  1173.  object {puente}
  1174.  object {soporte_izquierdo_motores translate <-85,-20,-20>}
  1175.  object {soporte_derecho_motores translate <-85,-20,20>}
  1176.  object {bajos}
  1177.  texture {blanca}
  1178. }
  1179.  
  1180. #declare casco1=
  1181. union
  1182. {
  1183.  object {casco_trasero1}
  1184.  object {casco_delantero2 translate x*-150}
  1185.  object {proa2 translate x*-200}
  1186.  object {cabina}
  1187.  object {soporte_izquierdo_motores translate <-85,-20,-20>}
  1188.  object {soporte_derecho_motores translate <-85,-20,20>}
  1189.  object {bajos}
  1190.  texture {blanca}
  1191. }
  1192. //************************************* fin casco ********************************
  1193.